$(function () {
    let boxPicW = Math.ceil($(".picBox").outerWidth(true)),
        lunbo = $("#lunbo"),
        posterBox = $("#posterBox");
    /**  如果picBox为1则可以拖拽图片位置，如果不为1则只可以轮播操作
     * pageX是鼠标点击的位置相对于浏览器左上角
     * left是定位元素（被移动元素）的left值
     * evpageX是鼠标每次移动的位置的位置相对于浏览器左上角
     * evpageX-pageX就是鼠标从点击到移动停下来的px距离，再加到被移动元素的的left值上
     */
    // lunbo.on("touchstart", lunboFunc);

    function lunboFunc(e) {
        e.stopPropagation();
        let len = $(".picBox").length;
        if (len == "1") {
            return false
        }
        let pianyiX = ""; //当前元素移动的距离
        lunbo.css({
            width: len * boxPicW + len
        })
        let pageX = e.originalEvent.changedTouches[0].pageX;
        let oneMoveDistance = ""; //一次移动的距离
        let left = parseInt($(this).css("left"));
        posterBox.unbind("touchmove").on("touchmove", function (ev) {
            e.stopPropagation();
            let evpageX = ev.originalEvent.changedTouches[0].pageX;
            oneMoveDistance = evpageX - pageX;
            pianyiX = left + oneMoveDistance;
            lunbo.css({
                left: pianyiX + "px",
            })
        }).unbind("touchend").on("touchend", function (event) {
            // console.log(pianyiX, -boxPicW * (len - 1));
            // console.log(oneMoveDistance, boxPicW / 2,-left/boxPicW);
            /**控制当到最后一张时，拖动要回到最后一张，当拖到第一张还拖咋默认回第一张 */
            e.stopPropagation();
            if (pianyiX <= -boxPicW * (len - 1)) {
                lunbo.animate({
                    left: -boxPicW * (len - 1) + "px",
                }, "fast");
                return false; //会与下面判断条件重复，所以符合了，直接结束当前代码段
            }
            if (pianyiX > 0) {
                lunbo.animate({
                    left: "0px",
                }, "fast");
                return false;
            }
            /**控制当到最后一张时，拖动要回到最后一张，当拖到第一张还拖咋默认回第一张 */
            /**控制拖动距离超过一半，自动跳到下一张，不到一半才返回到自己 */
            let num = $(e.target).parent().attr("num");
            if (-oneMoveDistance > boxPicW / 2) { //当移动大于当前元素的宽度一半时，直接轮播到下一张
                lunbo.animate({
                    left: -boxPicW * (num) + "px",
                }, "fast")
            } else if (oneMoveDistance > boxPicW / 2) {
                lunbo.animate({
                    left: -boxPicW * (num - 2) + "px",
                }, "fast")
            } else if (-oneMoveDistance < boxPicW / 2) {

                lunbo.animate({
                    left: -boxPicW * (num - 1) + "px",
                }, "fast")
            }
            /**控制拖动距离超过一半，自动跳到下一张，不到一半才返回到自己 */
        });
    }
    /** 
     * 微信分享朋友圈/分享好友 功能
     */
})